#ifndef __BEV_MAP_H_
#define __BEV_MAP_H_

#include <ros/ros.h>
#include <nav_msgs/OccupancyGrid.h>
#include <sensor_msgs/PointCloud.h>
#include <sensor_msgs/PointCloud2.h>
#include <sensor_msgs/point_cloud_conversion.h>

#include <opencv2/highgui.hpp>
#include <mc_map/map_base.h>

using namespace std;

class BevMap : public MapBase{
    public:
        BevMap();

        // 初始化参数
        void Init(float width, float height, float resolution, string frame_id);

        // 设置雷达点云数据
        // void setPointCloudData(sensor_msgs::PointCloud2::Ptr cloud_ptr);

        // 获取地图
        bool getBevMap(cv::Mat& cv_map);
        bool getBevMap(nav_msgs::OccupancyGrid::Ptr& map_ptr, string frame_id);

    private:
        float widthMeter_,heightMeter_;       // 地图宽高 单位米
        bool hasInit_;              // 是否初始化
        
};

#endif

